package org.ala.tcp_feign_client.spring.feign.results;

import org.ala.tcp_feign_common.exceptions.SerializableException;
import org.ala.tcp_feign_common.msg.biz_resp.BizRespByteMessage;

/**
 *
 * @author 骆毅(ala)
 * @date 2024年4月24日
 */
public interface IBizRespResultCallback {
	
	
	/**
	 * msgId
	 */
	long msgId();
	/**
	 * 是否已完成
	 * <p>	callback只要被通知过就算已完成
	 */
	boolean isFinished();
	/**
	 * 开始等待回复时间戳
	 */
	long bindTimestamp();
	
	
	/**
	 * 执行回调
	 */
	void doCallback(BizRespByteMessage msg) throws SerializableException;
	/**
	 * 超时回调
	 */
	void doTimeout();


}
